# frozen_string_literal: true

require "warning"

# Use https://github.com/jeremyevans/ruby-warning
# to restrict warnings outside our control
["mail", "activesupport", "yard", "capybara"].each do |gem_name|
  Warning.ignore(//, /.*gems\/#{gem_name}-.*/)
end

Warning.ignore(/warning: parser\/current/)

Sandbox::Application.configure do
  # Settings specified here will take precedence over those in config/application.rb

  # The test environment is used exclusively to run your application's
  # test suite.  You never need to work with it otherwise.  Remember that
  # your test database is "scratch space" for the test suite and is wiped
  # and recreated between test runs.  Don't rely on the data there!

  config.cache_classes = false

  # Show full error reports and disable caching
  config.consider_all_requests_local = true
  config.action_controller.perform_caching = false

  # Raise exceptions instead of rendering exception templates
  config.action_dispatch.show_exceptions = :none

  # Disable request forgery protection in test environment
  config.action_controller.allow_forgery_protection = false

  config.view_component.instrumentation_enabled = true

  # Tell Action Mailer not to deliver emails to the real world.
  # The :test delivery method accumulates sent emails in the
  # ActionMailer::Base.deliveries array.
  config.action_mailer.delivery_method = :test

  # Use SQL instead of Active Record's schema dumper when creating the test database.
  # This is necessary if your schema can't be completely dumped by the schema dumper,
  # like if you have constraints or database-specific column types
  # config.active_record.schema_format = :sql

  # Print deprecation notices to the stderr
  config.active_support.deprecation = :stderr

  config.action_view.annotate_rendered_view_with_filenames = true

  config.eager_load = true

  config.active_support.to_time_preserves_timezone = :zone
end
